1. Field of the Invention
The present invention relates to a multilevel value output device that converts or quantizes image data, indicative of some tone, into a signal of a multilevel value that is indicative of one of three or more discrete levels in order to reproduce the tone by distributing dots.
2. Description of Related Art
A halftone process is an image process for reproducing tone represented by image data by distributing dots. One kind of the halftone process is an error-diffusion conversion process, in which a quantization error, which occurs when an input value indicative of density of a pixel is quantized, is distributed to nearby pixels, thereby reproducing the original tone. The error-diffusion conversion process is currently most frequently used because the process can reproduce images with high quality. An example of the error-diffusion conversion process is shown in FIG. 1.
It is noted that in this example, an input value falling in a range of 0 to 255 is converted into either one of four-level output values, that is, large-dot output value (3), medium-dot output value (2), small-dot output value (1), and non-dot output value (0). Four different relative density values, that is, large-dot relative density value Den_L (255), medium-dot relative density value Den_M (200), small-dot relative density value Den_S (66), and 0 are stored beforehand in a relative density storage section 122 in one to one correspondence with the four-level output values 3, 2, 1, and 0. It is noted that the relative density values have been determined by normalizing the four-level output values 3, 2, 1, and 0 based on the maximum density 255 that correspond to the highest output value (3).
An input value (in this example, an 8-bit value) indicating the density of the pixel subject to be processed is received as an input.
An adding process 118 is executed in a manner described below. Error values obtained at previously-processed peripheral pixels are retrieved from an error storage section 128. Weight coefficients for those peripheral pixels are retrieved from a distribution matrix 130. A correction amount is calculated based on the error values and on the weight coefficients. This correction amount is fed back to the input value of the subject pixel, which is now subject to the process, and is added to the input value to give a corrected value.
A comparing process 120 is executed to convert the corrected value into a multilevel output value (0, 1, 2, or 3) by comparing the corrected value with a predetermined plurality of threshold values (in this example, three threshold values: large-dot threshold value Thre_L (200), medium-dot threshold value Thre_M (66), and small-dot threshold value Thre_S (0)).
Then, a relative density referring process 124 is executed to refer to the relative density storage section 122 based on the multilevel output value, and one relative density value that corresponds to the multilevel output value is selected.
Then, a difference calculation process 126 is executed to calculate, as an error value, the difference between the thus selected relative density value and the corrected value. The error value is stored in the error storage section 128 in order to be distributed to unprocessed pixels.
During this kind of error-diffusion conversion process, although the input value originally indicates one of a great variety of different densities of 0 through 255, the resultant multilevel output value can represent one of only a few number of different values (that is, four values including 0, 66, 200, and 255). By using the four-level output value, it is possible to reproduce only four different densities at one pixel. However, as indicated by bold lines in FIG. 1, according to the error diffusion process, a feedback configuration is established by: the relative density referring process 124, the difference calculation process 126, storage of the error value at the storage section 128, distribution of the error by using the distribution matrix 128, and the adding process 118. A density error, which may not be reproduced at one pixel, is therefore distributed to unprocessed pixels. Accordingly, even though only four discrete densities are reproduced at the micro level (pixel level), desired various densities can be reproduced at the macro level.